package com.google.android.apps.skipbot;

/**
 * Low level interface that controls the robot.
 */
public interface RobotController {

  /**
   * Moves the specified servo to the angle in degrees.
   * 
   * @param servoIndex zero based index of the servo
   * @param angle in degrees
   */
  void moveServo(int servoIndex, int angle);

  /**
   * Moves each servo to the given angle in degrees where the position in the
   * array is the servo index.
   * 
   * @param angles an array of angles in degrees
   */
  void moveAllServos(int[] angles);

  /**
   * Attaches the specified servo.
   * 
   * @param servoIndex zero based index of the servo
   * @param pin number associated with the servo
   */
  void attachServoToPin(int servoIndex, int pin);

  /**
   * Detaches the specified servo.
   * 
   * @param servoIndex zero based index of the servo
   */
  void detachServo(int servoIndex);
}
